Space Issues in Compiling with Intersection and Union Types

نویسندگان

  • Allyn Dimock
  • Ian Westmacott
  • Robert Muller
  • Franklyn Turbak
چکیده

The CIL compiler for core Standard ML compiles whole programs using the CIL typed intermediate language with ow labels and intersection and union types. Flow labels embed ow information in the types and intersection and union types support precise polyvariant type and ow information, without the use of type-level abstraction or quanti cation. Compile-time representations of CIL types and terms are potentially large compared to those for similar types and terms in systems based on quanti ed types. The listing-based nature of intersection and union types, together with ow label annotations on types, contribute to the size of CIL types. The CIL term representation duplicates portions of the program where intersection types are introduced and union types are eliminated. This duplication makes it easier to represent type information and to introduce multiple representation conventions, but incurs a compile-time space cost. This paper presents empirical data on the compile-time space costs of using CIL. These costs can be made tractable using standard hash-consing techniques. Surprisingly, the duplicating nature of CIL has acceptable compile-time space performance in practice on the benchmarks and ow analyses that we have investigated. Increasing the precision of ow analysis can signi cantly reduce compile-time space costs. There is also preliminary evidence that the ow information encoded in CIL's type system can e ectively guide data customization.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Program Representation Size in an Intermediate Language with Intersection and Union Types

The CIL compiler for core Standard ML compiles whole programs using a novel typed intermediate language (TIL) with intersection and union types and ow labels on both terms and types. The CIL term representation duplicates portions of the program where intersection types are introduced and union types are eliminated. This duplication makes it easier to represent type information and to introduce...

متن کامل

Completeness and Soundness results for X with Intersection and Union Types

This paper defines intersection and union type assignment for the sequent calculus X , a substitution-free language that enjoys the Curry-Howard correspondence with respect to Gentzen’s sequent calculus for classical logic. We show that this notion is complete (i.e. closed for subject-expansion), and show that the non-logical nature of both intersection and union types disturbs the soundness (i...

متن کامل

Towards a Logic for Union Types

We examine a logical foundation for the intersection and union types assignment system (IUT). The proposed system is Intersection and Union Logic (IUL), an extension of Intersection Logic (IL) with the canonical rules for union. We investigate two different formalisms for IUL, as well as its properties and its relation with minimal intuitionistic logic.

متن کامل

Towards an Intersection and Union Logic

A logical foundation for the intersection and union types assignment system (IUT) is proposed. We present Intersection-Union Logic (IUL) as an extension of Intersection Logic (IL) by adding rules for union and we examine some properties of this system and its relation with intuitionistic minimal logic.

متن کامل

Intersection and Union Types in the λμμ̃-calculus

The original λμe μ of Curien and Herbelin has a system of simple types, based on sequent calculus, embodying a Curry-Howard correspondence with classical logic. We introduce and discuss three type assignment systems that are extensions of λμe μ with intersection and union types. The intrinsic symmetry in the λμe μ calculus leads to an essential use of both intersection and union types.

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2000